/**
 * 根据文件后缀名判断文件类型
 * @param {string} fileName - 文件名（包含后缀）
 * @returns {string} 文件类型分类
 */
function getFileType(fileName) {
  // 获取文件后缀名并转为小写
  const ext = fileName.slice(((fileName.lastIndexOf('.') - 1) >>> 0) + 2).toLowerCase()
  
  // 图片类型
  const imageTypes = ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp', 'svg', 'ico']
  
  // 视频类型
  const videoTypes = ['mp4', 'avi', 'mkv', 'mov', 'wmv', 'flv', 'webm', 'm4v']
  
  // Word文档
  const wordTypes = ['doc', 'docx']
  
  // Excel文档
  const excelTypes = ['xls', 'xlsx']
  
  // PPT文档
  const pptTypes = ['ppt', 'pptx']
  
  // PDF文档
  const pdfTypes = ['pdf']
  
  // 压缩包类型
  const archiveTypes = ['zip', 'rar', '7z', 'tar', 'gz', 'bz2']
  
  if (imageTypes.includes(ext)) {
    return 'image'
  } else if (videoTypes.includes(ext)) {
    return 'video'
  } else if (wordTypes.includes(ext)) {
    return 'word'
  } else if (excelTypes.includes(ext)) {
    return 'excel'
  } else if (pptTypes.includes(ext)) {
    return 'ppt'
  } else if (pdfTypes.includes(ext)) {
    return 'pdf'
  } else if (archiveTypes.includes(ext)) {
    return 'archive'
  } else {
    return 'other'
  }
}

export default getFileType